home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib01.dsk / STAR ATTACK.bas < prev    next >
BASIC Source File  |  2023-02-26  |  5KB  |  113 lines

  1. 1  REM  *************************
  2. 2  REM  * APPLESOFT STAR ATTACK *
  3. 3  REM  *    BY MIKE HARVEY     *
  4. 4  REM  *  COPYRIGHT (C)  1983  *
  5. 5  REM  *  BY MICROSPARC, INC.  *
  6. 6  REM  *   CONCORD, MA 01742   *
  7. 7  REM  *************************
  8. 10  ON  PEEK(103) = 1  AND  PEEK(104) = 16 GOTO 15: PRINT  CHR$(4);"BLOAD STAR.AL": PRINT  CHR$(4);"BLOAD STAR.SHAPES": PRINT  CHR$(4);"BLOAD HI-RES": POKE 103,1: POKE 104,16: POKE 4096,0: PRINT  CHR$(4)"RUN STAR ATTACK"
  9. 15  GOSUB 2000: POKE 17227,0
  10. 16  POKE 17226,0
  11. 17  TEXT 
  12. 20  CALL 17434
  13. 21  GOSUB 2050: GOTO 26
  14. 24  CALL 17563
  15. 26 X =  PEEK(17226)
  16. 27  IF X = 1  THEN  GOSUB 100: GOTO 35
  17. 28  IF X = 2  THEN  GOSUB 200: GOTO 35
  18. 29  IF X = 3  THEN  GOSUB 300: GOTO 35
  19. 30  IF X = 4  THEN  GOSUB 400: GOTO 35
  20. 31  IF X = 5  THEN  GOSUB 500: GOTO 35
  21. 32  IF X = 6  THEN  GOSUB 600: GOTO 35
  22. 33  IF X = 7  THEN  GOSUB 700: GOTO 35
  23. 35 S =  PEEK(17227): IF S < >T  THEN  GOSUB 800
  24. 36 T = S
  25. 40 N = N -1: VTAB 21: HTAB 16: PRINT N
  26. 45  IF N = 1000  OR N = 100  THEN  GOSUB 5000
  27. 50  IF S >300  OR N = 0  THEN 3000
  28. 55  GOTO 24
  29. 100  POKE 17226,0: VTAB 23: HTAB 10: PRINT A$;: HTAB 37: PRINT "+50":X = 0
  30. 105 SC = SC +50: VTAB 22: HTAB 36: CALL  -868: PRINT SC:A = A +1: RETURN 
  31. 200  POKE 17226,0: VTAB 23: HTAB 10: PRINT B$;: HTAB 37: PRINT "+40":X = 0
  32. 205 SC = SC +40: VTAB 22: HTAB 36: CALL  -868: PRINT SC:B = B +1: RETURN 
  33. 300  POKE 17226,0: VTAB 23: HTAB 10: PRINT C$;: HTAB 37: PRINT "-50":X = 0
  34. 305 SC = SC -50: VTAB 22: HTAB 36: CALL  -868: PRINT SC:C = C +1: RETURN 
  35. 400  POKE 17226,0: VTAB 23: HTAB 10: PRINT D$;: HTAB 37: PRINT "+30":X = 0
  36. 405 SC = SC +30: VTAB 22: HTAB 36: CALL  -868: PRINT SC:D = D +1: RETURN 
  37. 500  POKE 17226,0: VTAB 23: HTAB 10: PRINT E$;: HTAB 37: PRINT "+20":X = 0
  38. 505 SC = SC +20: VTAB 22: HTAB 36: CALL  -868: PRINT SC:E = E +1: RETURN 
  39. 600  POKE 17226,0: VTAB 23: HTAB 10: PRINT F$;: HTAB 37: PRINT "-40":X = 0
  40. 605 SC = SC -40: VTAB 22: HTAB 36: CALL  -868: PRINT SC:F = F +1: RETURN 
  41. 700  POKE 17226,0: VTAB 23: HTAB 10: PRINT G$;: HTAB 37: PRINT "-20":X = 0
  42. 705 SC = SC -20: VTAB 22: HTAB 36: CALL  -868: PRINT SC:G = G +1: RETURN 
  43. 800  VTAB 21: HTAB 35: CALL  -868: PRINT S: RETURN 
  44. 1000  END 
  45. 2000  DIM A$(20),B$(20),C$(20),D$(20),E$(20),F$(20),G$(20),X$(2),M$(40),BB$(4)
  46. 2005 BB$ = "    ":A$ = " TIE FIGHTER    ":B$ = " KLINGON CRUISER":C$ = " HOSPITAL SHIP "
  47. 2010 D$ = " KLINGON FIGHTER":E$ = " TIE SUPPLY SHIP":F$ = " TWA FREIGHTER  "
  48. 2015 G$ = " COMM SATELLITE ": CALL  -936:N = 4000: RETURN 
  49. 2050  VTAB 21: PRINT "TIME LEFT..";: HTAB 23: PRINT "SHOTS USED.."
  50. 2055  VTAB 22: PRINT "PREV HIGH SCORE=";HS;: HTAB 26: PRINT "SCORE.."
  51. 2065  VTAB 23: PRINT "LAST HIT=";: HTAB 27: PRINT "SCORING.."
  52. 2070  POKE 812,255
  53. 2072  FOR I = 1 TO 100:XX =  RND(1) *250:YY =  RND(1) *120
  54. 2074  POKE 800,XX: POKE 802,YY: CALL 3780: NEXT I
  55. 2078  POKE 800,0: POKE 802,0: CALL 3780
  56. 2080  POKE 800,255: POKE 802,0: CALL 3786
  57. 2082  POKE 800,255: POKE 802,159: CALL 3786
  58. 2084  POKE 800,0: POKE 802,159: CALL 3786
  59. 2086  POKE 800,0: POKE 802,0: CALL 3786
  60. 2088  POKE 800,0: POKE 802,130: CALL 3780
  61. 2090  POKE 800,124: POKE 802,154: CALL 3786
  62. 2092  POKE 800,136: POKE 802,154: CALL 3786
  63. 2094  POKE 800,255: POKE 802,130: CALL 3786
  64. 2096  POKE 800,0: POKE 802,140: CALL 3780
  65. 2098  POKE 800,124: POKE 802,156: CALL 3786
  66. 2100  POKE 800,136: POKE 802,156: CALL 3786
  67. 2102  POKE 800,255: POKE 802,140: CALL 3786
  68. 2200  RETURN 
  69. 3000  TEXT : CALL  -936
  70. 3005  IF SC >HS  THEN  GOSUB 3500
  71. 3006  GOSUB 4000
  72. 3008  VTAB 21: INPUT "ANOTHER MISSION? HIT RETURN";X$: GOSUB 2015
  73. 3015 SC = 0: POKE 17227,0: REM  RESET SCORE AND NUMBER OF SHOTS
  74. 3020 A = 0:B = 0:C = 0:D = 0:E = 0:F = 0:G = 0: GOTO 20
  75. 3500  PRINT "YOUR SCORE OF ";SC;" HAS BEATEN THE": PRINT "PREVIOUS HIGH SCORE OF..";HS
  76. 3505  PRINT "CONGRATULATIONS!"
  77. 3510 HS = SC: RETURN 
  78. 4000  VTAB 6: HTAB 5: PRINT "YOU SHOT DOWN....."
  79. 4005  VTAB 7: HTAB 16: PRINT A;"..";A$
  80. 4006  VTAB 8: HTAB 16: PRINT B;"..";B$
  81. 4008  VTAB 9: HTAB 16: PRINT C;"..";C$
  82. 4010  VTAB 10: HTAB 16: PRINT D;"..";D$
  83. 4012  VTAB 11: HTAB 16: PRINT E;"..";E$
  84. 4014  VTAB 12: HTAB 16: PRINT F;"..";F$
  85. 4016  VTAB 13: HTAB 16: PRINT G;"..";G$
  86. 4020  IF SC <100  THEN 4100
  87. 4021  IF SC <200  THEN 4120
  88. 4022  IF SC <300  THEN 4130
  89. 4023  IF SC <500  THEN 4140
  90. 4024  IF SC <650  THEN 4150
  91. 4025  IF SC <750  THEN 4160
  92. 4026  IF SC <850  THEN 4170
  93. 4027  IF SC <1000  THEN 4180
  94. 4040  GOTO 4190
  95. 4100 M$ = "LOUSY": GOTO 4500
  96. 4120 M$ = "POOR": GOTO 4500
  97. 4130 M$ = "FAIR": GOTO 4500
  98. 4140 M$ = "NOT BAD..APPRENTICE RATING"
  99. 4142  GOTO 4500
  100. 4150 M$ = "GOOD..PROMOTED TO EXEC OFFICER."
  101. 4152  GOTO 4500
  102. 4160 M$ = "VERY GOOD..PROMOTED TO 1ST OFFICER"
  103. 4162  GOTO 4500
  104. 4170 M$ = "EXCELLENT! PROMOTED TO CAPTAIN!"
  105. 4172  GOTO 4500
  106. 4180 M$ = "OUTSTANDING! PROMOTED TO REAR ADMIRAL"
  107. 4182  GOTO 4500
  108. 4190 M$ = "SPECTACULAR! PROMOTED TO FLEET ADMIRAL"
  109. 4192  GOTO 4500
  110. 4500  VTAB 18: PRINT "YOUR SCORE OF.."SC" WAS RATED:"
  111. 4505  VTAB 19: HTAB 4: PRINT M$: RETURN 
  112. 5000  VTAB 21: HTAB 16: PRINT BB$
  113. 5005  RETURN